home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 February / EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso / earcd / util4 / bbmon050.lha / MONi-Doc < prev    next >
Text File  |  1995-08-27  |  53KB  |  1,271 lines

  1.  
  2.                                 ____aawm######################mr
  3.                         __agm################################
  4.                     __am########@PP"""    ___          """P@##
  5.                  _gm#####@M""            ]###     #mmww___
  6.               _g#####P""     ___         J###     #r f,"7##mw__
  7.            _g####P"          ###__a-     `###     ""9P**0######mw_
  8.          _g###P"         awm####M" a##*m, ##F              "9#####m_
  9.         a##@"       _    """"###  d## J#' ##F                  "M###m_
  10.       _d##"    mm  ###wg#m_  ###  ##MP"   0#F                     9###_
  11.      _##K     ___  ###@^###  ###  ##__g#m 0##         ___          "###,
  12.     _##"      0### ###  0##  ###  "9@@"   `""         ###           `##Q
  13.     0#K       ]##F 0##   ##  0##  aa_         mm      ###  a##*m,    0##
  14.     ##        J##F *@f   *#       ###wawm___ __"   _mM### d## J#'    ###
  15.     ##        J##             gm#####M"_m### ###  ##@"0## ##MP"     _##"
  16.     ##                        _"" ### J##K   ### 0##  ### ##__g#m   ##K
  17.     0#_             __   aw   0#F 0##  "##w_ 0## 0##w###Q "9@@"   _##K
  18.      ##_          ,####m ##L  ]#Q 0##    ]## ]## `*@" J##       _d##"
  19.      "##m_        ##' 7#K0#K  J#Q 0##  _d##"  ""              _d##"
  20.        "##w_      ##,  ##`##mm### J##  "*"                __g###"
  21.          9###w_   `##w##F ""P" ""                     __gm###M"
  22.            "*###mw__"""                         __aam####P"
  23.               ""######mww_______________aaawmm######@P"
  24.                    "9*########################@M""
  25.                             """"""""""""
  26.  
  27.              .oO· BigBrother V0.50ß Developers Reference Manual ·Oo.
  28.  
  29.          -o- Only the Updates and Command List are fully up-to-date! -o-
  30.  
  31.                 ...the rest of the docs are not quite updated!...
  32.  
  33.                       »!« read the updates for changes! »!«
  34.  
  35.                        - (©) 1991-95 by ParCon Software! -
  36.  
  37.  
  38.    » Release Note! «
  39. ·-===========================================================================-·
  40.  
  41. First of all you must know that this doc is rather incomplete and will probably
  42. remain so until a final release version is ready or when ever I take the time.
  43. Sorry!
  44.  
  45. Anyway, I suppose most of you people have seen some non-system monitors in your
  46. time I sure have, although some are for a select croud of people I still feel
  47. that there is not any real solution available for use. In other words most
  48. other software is either to old or just obsolete in some way and besides most
  49. good old monitors are not being updated and haven't for some time.
  50. (ie. ResetMon,CartMon and BeerMon) Although the 2 first are very old they are
  51. well programmed and still include options not found in that many new monitors.
  52.  
  53. Since this is not a final version I hope you will overlook this and instead
  54. look at how future releases will rock ya!
  55.  
  56. You should contact me if you want to discuss either ideas, updates and/or bugs.
  57.  
  58. Compatible with all amigas and processors. (Auto Detection)
  59. Specific CPU/FPU/MMU support has been included from 68000 -> 68060.
  60.  
  61. Anyway with the inclusion of a module interface you will be able to use your
  62. own code with this non-system environment.
  63.  
  64. As you will probably notice this monitor is fearly fast, or rather should I say
  65. f**king 100% optimized in any and all ways. I tried to make the user interaction
  66. as user friendly as possible, if all fails please consider that all is non
  67. system programing which imposses some restriction. On the other hand I will be
  68. glad to update any sane request.
  69.  
  70. And finally before having a cow please remember!
  71.  
  72. This is ONLY an EVALUATION Version, the reason being I haven't completed all
  73. the code and since hardware may never come I finally decided to release a
  74. pee-ka-boo version. Updates will ofcourse include many new features/options.
  75.  
  76. At the moment the following features are amoungst the ones included:
  77.  
  78.  o Absolute 680x0/68851/6888x Dis-/Assembler/Find Address. (incl 68060 & CPU32)
  79.  o Full Screen Memory/Disassembler Dump (Both ~realtime on 68000)
  80.  o Processor Control: BreakPoints,MemoryWatch.
  81.  o Memory Control: Copy,Compare,Fill,Add,And,Eor,Nop,Not,Or,Sub.
  82.  o Calculator; = <> <= < >= >,+-,*/,!&~,^<<>>,+-~,([{}])
  83.  o CommandLine and/or Input/Prompt Parameters.
  84.  o Inputs also default to the last errorfree parameters.
  85.  o Extensive Normal/Deep Trainer Options.
  86.  o Track/Cylinder/Sector/Boot Read/Write.
  87.  o DOS0-5 Support: QFormat,Format,Install,Relabel,CD,Dir,Comment,Type,
  88.                    ReadBinary.
  89.  
  90. And ofcourse many more!
  91.  
  92.    » Contents «
  93. ·-===========================================================================-·
  94.  
  95. 1. Introduction
  96. 2. Installation
  97. 3. Basics / Getting Started
  98. 4. How to use Commands
  99. 5. Expressions and Arguments
  100. 6. General Commands
  101. 7. Full Screen Memory Dump
  102. 8. Full Screen Dis/Assembler Dump
  103.  
  104. Appendices:
  105.  
  106. A. Thanks
  107. B. Technical Information
  108. C. Commands Overview
  109. D. Updates/History
  110. E. Bugs/Future/Ideas
  111.  
  112.  
  113.    » 1. Introduction «
  114. ·-===========================================================================-·
  115.  
  116. Welcome to yet another monitor for the Amiga.
  117.  
  118. This Install file includes all the material needed to use this Monitor.
  119.  
  120. Memory Installer, Prefs, PrefsData and instructions in one single file!
  121. By using an Overlay File you do not need to worry about where prefs and
  122. all the different files needed are! Only one file to keep track of!
  123.  
  124. This install system is KS1.3-3.1 Compatible. No external libraries needed!
  125.  
  126. Non ECS/AGA Ntsc Computers will not get a full screen at the moment.
  127. New version will have different screenmodes available.
  128.  
  129. Updates of this installer will probably use a pseudo AmigaGuide System.
  130.  
  131. Hardware should be coming soon from Germany or Denmark.
  132.  
  133. I started programming on this monitor in 1991 about the time Nordic Power
  134. and AR1 were being sold. And with good reason as even AR3 offers no
  135. competition against even a few of the before Mentioned!
  136.  
  137. Inspiration to this program came from ResetMon, Cartmon and an Internal
  138. Monitor from some friends in tsl&rbs.
  139.  
  140. This program was firstly edited and assembled on my old A500 with 1mb Ram.
  141. Then finally I got a Hd for this huge source and some extra Ram.
  142. During that period I regularyly tested it on two different 68030 Computers.
  143. 68EC030 40Mzh and 68030 25Mzh 10 Mb Ram!
  144. But then I got an A4040 and it actually worked except AGA and VBR!
  145. (CIA Timers always used...!)
  146.  
  147. Returning Gfx Fuckups can ONLY be avoided by using Hardware. Doesn't happend
  148. that offen though. (Ideally: RAM Mirror of Custom Regs)
  149.  
  150. Based upon several other monitors...
  151.  ResetMon (AntiAction/Defjam&CCS/Stefan Boberg :)
  152.  Cartmon (Utopia/The Silents/Lars Wadefalk)
  153.  CrackMon (Pdx France)
  154.  NorMon (Eurosoft/SR)
  155.  Interrupter (Mzh/Testament)
  156.  ARx (Datel Electronics)
  157.  Sim/RomCrack
  158.  Nordic Power (Major Rom and ZeroNine/Quadlite)
  159.  RAM
  160.  ROM
  161.  ThrillKill Infos
  162.  GhostRider (Jesper Skov)
  163.  A-Debug (Pdx France)
  164.  BeerMon (Carnivore/Beermacht/Tristar)
  165.  Asm-One (Promax/Kefrens/Rune Gram-Madsen)
  166. And some incomplete ones from Rbs/Tsl Swe and Arcane!
  167.  
  168. Even though you haven't seen most of them you haven't really missed that much
  169. from the users point you will not find one single non-system monitor with all
  170. the features you need.
  171.  
  172. Basicly I began coding this monitor some time ago, the only mointor I had seen
  173. when we startet was Nordic Power,RomCrack,Ar1 & ResetMon. ResetMon by far the
  174. best but still not very useful, then we got CartMon by it's time the best of
  175. all but he never completed the code but by then I had a perfect idea of what I
  176. wanted my monitor to be like. Still not there yet...
  177.  
  178. Inspiration also came from C64 music and the equivalent Amiga conversions
  179. by Il Scuro and PHS/Defjam&CCS.
  180.  
  181. Assembled with Asm-OneV100/Asm-Too by Rune Gram-Madsen and Detron.
  182.  
  183. If you have any Ideas or Find Bugs in this program!
  184.  
  185. Snail    - Nicholas Clarke
  186.            Molbechsvej 17, 2.tv
  187.            2500 Valby
  188.            Denmark
  189.  
  190. BBS      - CyberDyne (+45) 98434851
  191.  
  192. AmigaNet - 39:141/144.7
  193. FidoNet  - 2:235/211.7
  194.  
  195. Internet - nclarke@datashopper.dk
  196.  
  197. BigBrother is (©) Copyright by the author and was created without the use of
  198. any sources by others than the authors and therefor I would not appreciate
  199. anybody reverse enginering it and abusing any parts of the code!
  200.  
  201.  
  202.    » 2. Installation «
  203. ·-===========================================================================-·
  204.  
  205. Since this Monitor is currently only software based installation can be tidious
  206. at times, but it is not impossible.
  207.  
  208. You must configure Memory and Activation!
  209.  
  210. The following Screen Modes are/or will be optional:
  211.    640x256 - PAL     - HiRes            - OCS/ECS/AGA
  212. *  640x512 - PAL     - HiRes Interlace  - OCS/ECS/AGA
  213. * 1280x256 - PAL     - Super HiRes      -  % /ECS/AGA
  214. *  640x512 - DBLPAL  - HiRes No Flicker -  % / % /AGA
  215. *  640x200 - NTSC    - HiRes            - OCS/ESC/AGA
  216. *  640x400 - NTSC    - HiRes Interlace  - OCS/ESC/AGA
  217. * 1280x200 - NTSC    - Super HiRes      -  % /ECS/AGA
  218. *  640x400 - DBLNTSC - HiRes No Flicker -  % / % /AGA
  219. *  640x480 - VGA     - VGA              -  % / % /AGA
  220. |
  221. * <- Not supported quite yet... As I haven't tryed writing the needed copper
  222.      lists required.
  223.  
  224. VGA/MultiSync Copper almost possible, will be fully implemented soon.
  225.  
  226. Most of the screenmodes are not useful without hardware but will be implemented
  227. just in case!
  228.  
  229. There is also an adjustable key repeat.
  230.  
  231.  
  232.    » 3. Basics / Getting Started «
  233. ·-===========================================================================-·
  234.  
  235. One of the first this you will noticed when entering BigBrother is a titlebar
  236. and a text area covering the the rest of the screen.
  237.  
  238. The clock displayed on the main screen (title bar) is the realtime clock.
  239. If you do not have battery backed up clock the CIA TOD will be displayed
  240. instead.
  241. The CIA's TOD is controlled by the system in a very weird way, it resets
  242. the TOD at 65536 (16-bit) instead of the maximum of 16777216 (24-bit).
  243. (This varies on different KickStarts)
  244.  
  245. The monitor uses four full screen buffers for your activities.
  246. Two Editing screens which you can use freely to execute commands.
  247. One Screen used for Dumps,Some Menus,etc. in order not to change the two
  248. editing screen which can be irritation if you have important data there.
  249. One Screen used for notes with the size of one screen.
  250.  
  251. The following screen related keys are available:
  252.  F1...Toggle between screen 1 and 2.
  253.  F2...Toggle Ins/Ovr
  254.  F3...Toggle last screen 3 and current.
  255.  F5...Clear Screen.
  256.  
  257. Besides using the Arrow Keys to move the cursor around the screen you can
  258. also use the mouse to position cursor.
  259. Most of the Shift/Alt cursor keys also have functions which are following:
  260. The mouse will also work on the fullscreen Memory/DisAsm Dump!
  261.  
  262. Normal
  263.  Left        Move Cursor Left
  264.  Right       Move Cursor Right
  265.  Up          Move Cursor Up
  266.  Down        Move Cursor Down
  267.  Backspace   Backspace
  268.  DEL         DEL
  269.  
  270. DEL will erase the key to the left and move all characters left of cursor.
  271. Backspace will erase key under cursor and move all characters left of cursor.
  272.  
  273. Shift
  274.  Left        Goto EndOfLine
  275.  Right       Goto Begining of Line
  276.  Up          History Backwards
  277.  Down        History Forward
  278.  Backspace   Delete From Cursor to Begining of Line
  279.  DEL         DEL from Cursor to EndOfLine
  280.  
  281. ALT
  282.  Left        Goto Begining of Next Parameter
  283.  Right       Goto Begining of Last Parameter
  284.  Up          Goto First Command Line Upwards   (Jumps over Output Lines)
  285.  Down        Goto First Command Line Downwards            -"-
  286.  Backspace   Clear Screen
  287.  DEL         Insert Space
  288.  
  289. As most of you probably use different programs you might be acustomed to the
  290. keys having diffenrent functions from program to program so you will soon be
  291. able to configure the keys. (Normal/Shift/Alt)
  292.  
  293. Keyboard KeyMap is selectable for different countries as there are some
  294. differences between for example Germany,France and Usa!
  295. (10 Different Countries available, and soon a whole KeyMap Prefs like the
  296. program SetKey V2.1)
  297.  
  298. The last 20 command lines are stored in a history buffer.
  299. This will be updated so you have optional history for editor and a seperate
  300. for Dis/Asm.
  301.  
  302.  
  303.    » 4. How to use Commands «
  304. ·-===========================================================================-·
  305.  
  306. Most commands work with parameters either following the command or prompted.
  307. Everywhere in the monitor both upper and lower case chars are recognized,
  308. unless other is specified (Shortkeys).
  309.  
  310. example:
  311. Q $20000 $30000 $40000
  312.  
  313. or you can just execute this line
  314.  
  315. Q
  316. BEG>$20000
  317. END>$30000
  318. DEST>$40000
  319.  
  320. All used parameters are store and will be displayed as defaults in prompts.
  321. If an error occurs while parsing commandline the parameters are then prompted
  322. with the parsed parameters as default so you don't have to enter all
  323. parameters again, only the wrong ones.
  324.  
  325.  
  326.    » 5. Expressions and Arguments «
  327. ·-===========================================================================-·
  328.  
  329. The following operators can be used to define expressions.
  330.  Expression calculated with priority, this ofcourse includes parenthesis.
  331.  Full 68000/32bit Muls/Divs.
  332.  Parenthesis: ([{}])
  333.      Actions: = <> <= < >= >
  334.     Operands: + - * / ! & ~ ^ << >>
  335.        Signs: + - ~
  336.        Bases: Decimal,Hex,Binary,Ascii,Octant
  337.  Operand Priority (equal priorites are treated from left to right)
  338.   = <> <= < >= > Equal,Not Equal,Less or Equal,Less,Greater or Equal,Greater
  339.   +-             Add,Sub
  340.   */             Mul,Div
  341.   !&~            Or,And,Eor
  342.   ^<<>>          Sqr,Logical Shift Left,Logical Shift Right
  343.   +-~            Plus,Minus,Not
  344.   ([{}])         Parenthesis
  345.  Bases Supported
  346.   $   Hex
  347.   %   Binary
  348.   "'` Ascii
  349.   @   Octant
  350.       Decimal (default)
  351.  CpuRegs
  352.   d0-d7,a0-a7,sp,ssp,usp,sr,pc,vbr. (more will be added if demanded)
  353.  
  354.  Symbols are supported but can not be defined from commandline yet.
  355.  
  356. The Expression routine is semi-recursive which gives extra speed and easy
  357.  expansion. (Asm1 uses the same basic method)
  358.  
  359. Besides expressions, strings can also be parsed. Strings including spaces
  360.  should be parsed with ` , ' or ". (ie. "String String")
  361.  
  362.  
  363.    » 6. General Commands «
  364. ·-===========================================================================-·
  365.  
  366. X
  367.  Exit monitor and return to state computer was in before activation.
  368.  
  369. ? [expression]
  370.  Prints results of the expression.
  371.  
  372.  
  373.  
  374. READ COMMAND LIST FOR ALL COMMANDS!
  375.  
  376.  
  377.  
  378. MONITOR COMMANDS:
  379.  
  380. Dis/Assembler
  381.  
  382. Supported processors:
  383.  68000
  384.  68010
  385.  68020
  386.  68030/68EC030
  387.  68040/68LC040//68EC040
  388.  68060/68LC060//68EC060
  389.  68851
  390.  6888x
  391.  Cpu32
  392.  
  393. No indepth information about any motorola processor can be found in this
  394. documentation as you should get the correct reading material for this.
  395.  
  396. SI (Search Instruction)
  397. Searching for Instructions may seem quite funny for mortals but it is
  398. infact very useful in some instances. You want to know all places where
  399. a certain address is accessed or maybe where branches to a specific address
  400. are.
  401.  
  402. SI
  403. INSTRUCTION>Bcc *
  404.  Will search for ages for all Branches to all Addressed!
  405. SI
  406. INSTRUCTION>Bne.L $200000
  407.  Will Search memory arround $200000 for branches.
  408.  
  409. Searching for "M* *(,*)" is not Possible Only "Instr. *(,*)"?!
  410.  
  411. All PC realative commands will be handled accordingly, for information
  412. about MC680xx Programming in general You should get the appropreate
  413. documentation from Motorola!
  414.  
  415. (This Command was First Made by AntiAction(Defjam & CCS) for His ResetMon)
  416.  
  417. I haven't been able to check my dis/assembler for new effective address errors
  418. because of the simple fact that all the assemblers I have tried don't assemble
  419. correctly and some not at all!
  420.  
  421. DevPac V3.04  (BaseDisplacement and OuterDisplaycement fucks up!)
  422. Asm-One V1.25 (ZPC is a motorola standard!!)
  423. PhxAss V3.71  (ZPC is a motorola standard!!)
  424. Sas/C V6.50 Assembler ("data generation must occur in reloc section" this was
  425.  written for each new <ea> mode instruction line... HuH? I'm going mad!
  426.  I suspect it needed a section directive but who cares)
  427.  
  428. I guess you will have to wait on Detron or myself...
  429.  
  430.  
  431.    » 7. Full Screen Memory Dump «
  432. ·-================================-·
  433.  
  434. Cursor Keys = Moves Cursor arround.
  435. Shift Cursor Up/Down = Page Up/Down.
  436. Shift Cursor Left/Right = Leftest/Rightest.
  437. Alt Cursor Left/Right = Sub/Add 1 to Memory and redisplay.
  438. Alt Cursor Up/Down = Cursor Top/Mid/Bottom.
  439.  
  440. Pressing the mouse button will move cursor to current mouse position.
  441.  
  442. F1..Byte Dump
  443. F2..Word Dump
  444. F3..Long Dump
  445. F4..Ascii Dump
  446.  
  447. Amiga-J : Jump Addr.
  448. Amiga-L : Last Addr.
  449. Amiga-G : Grab Addr.
  450. Amiga-Q : QuickJump
  451.  
  452. Amiga-D : DisDump
  453.  
  454. ShiftAmiga 1-0 Marks Address
  455.      Amiga 1-0 Jump Marks
  456.  
  457.  
  458.    » 8. Full Screen Dis/Assembler Dump «
  459. ·-=======================================-·
  460.  
  461. Cursor Keys = Moves Cursor arround.
  462. Shift Cursor Up/Down = Page Up/Down.
  463. Shift Cursor Left/Right = Leftest/Rightest.
  464. Alt Cursor Left/Right = Sub/Add 1 to Memory and redisplay.
  465. Alt Cursor Up/Down = Cursor Top/Mid/Bottom.
  466.  
  467. Pressing the mouse button will move cursor to current mouse position.
  468.  
  469. Amiga-J : Jump Addr.
  470. Amiga-L : Last Addr.
  471. Amiga-G : Grab Addr.
  472. Amiga-Q : QuickJump
  473.  
  474. Amiga-M : MemDump
  475.  
  476. ShiftAmiga 1-0 Marks Address
  477.      Amiga 1-0 Jump Marks
  478.  
  479. Disassemble Up/Page Up will in almost all cases be 100% correct. The method
  480.  used is the same as the one Rune Gram-Madsen used for Asm-One except this
  481.  one works for 680x0 processor instructions. (CPU,MMU & FPU)
  482.  
  483. Ascii/Hex options will be re-added in the new dis routine. (Removed in the new
  484.  disassembler)
  485.  
  486.  
  487.  
  488.  
  489.  
  490. DISK COMMANDS:
  491.  
  492. ?.? Test Device (TD)
  493. The read the device I.D. instruction was made following the instructions from
  494. Commodore (Hareware Ref. Man. Rev3). But there seems to be a problem or at
  495. least some mis information from Commodore. Anyway hope you can use it.
  496.  
  497. ·.    .··.    .··.    .··.    .··.    .··.    .··.    .··.    .··.    .··.    .
  498.   ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·
  499.  
  500.                 Appendices
  501.  
  502.  
  503.    » A. Thanks «
  504. ·-===========================================================================-·
  505.  
  506. Special Thanx to
  507. Marc Friis-Møller, an old programmer friend of mine and he was involved in
  508.  the beginning of this project. Eventhough most of his routines have been
  509.  rewritten they helped start the monitor to what it is today. He eventually
  510.  sold his Amiga because he had to concentrate on Uni.
  511.  (Org Work: Calculator,CopperSetup,InitRoutines,OutputRoutines,MemPeeker
  512.             and MainLoop Routines)
  513. Morten W. Rasmussen, my oldest and closest programmer friend we made the rest
  514.  of the monitor. Mostly together like the first Disassembler and MemoryDump
  515.  routines.
  516.  
  517. And as it turned out I'm the last active programmer on this project and now
  518. 99% of all code in this program has been done by yours truly, Nicholas C.
  519.  
  520. Jim Benjamin Luther, when I first met him he didn't know what Copper were,
  521.  but I soon changed that. Eventually we made our TrackLoaders arround the same
  522.  time and he taught me the value of CIA timers.
  523.  
  524. Jesper Bach, for ideas and testing the monitor on his A500/030/25Mhz back
  525.  when I only used an A500/000/7Mhz.
  526.  
  527. Rune Gram-Madsen, for making the Coolest Macro Assembler and also for some
  528.  useful help. (ie. backwards Disassembly, optimized recursive parsers, etc.)
  529.  
  530. Mads Henriksen, a lot of useful ideas/help and a rather large source for... :)
  531.  
  532. Felix Nielsen, for abusing my modem accounts :) On the other hand people give
  533.  me Dis like there was no tomorrow.
  534.  
  535. Michael Pendec, help and ideas, Hd/disk background information and sources.
  536.  And for some vital info about Hd's which saved me from a 124mb Hd Fuckup!
  537.  
  538. Carnivore/Beermacht/Tristar
  539.  Would never have figured that hardware clock out if you hadn't released the
  540.  source for Beermon. The 68000-68040/68882/68851 listings were very useful
  541.  in testing my assembler/disassembler.
  542.  
  543. Emiel Lensink, for The Guru, version 3.00. I use converted data from that
  544.  program but I have not used any of his code whatsoever! Took me some time
  545.  to convert into compressed source data form. If any updated data is released
  546.  I will for sure have to make a converter.
  547.  
  548. Silents&Crionics, I'll be back for lunch, smoke me a kiper! Hope you are
  549.  enjoying California...
  550.  
  551. Inspiration from:
  552.  Silents & Crionics - Kefrens - TRSI - Scoopex - Phenomena - Flash Production
  553.  
  554. Dedicated to:
  555. Il Scuro!&PHS/Defjam & CCS - Dr.Pablo/The Champs - Rob!/Quartex - Nomad
  556. Phil Douglas - BadBoy/Trilogy/PDX - Conqueror/Defjam & CCS/Fairlight
  557. BlackHawk/Trilogy/PDX - AntiAction/Defjam & CCS - 'Blackie'/Fairlight
  558. Gaston/Horizon/Fairlight - Mok/Classic/Prestige - FFC/Vision Factory/Skid Row
  559. EuroSoft/Skid Row - KontraSoft/World of Wonders - Samir/Zenith/Prestige
  560. Renegade/Fairlight - Heat/TarkusTeam/Kingdom - Beermacht/Tristar
  561. Major Rom & Zeronine/Quadlite - MZP/RSI
  562.  
  563.  
  564.    » B. Technical Information «
  565. ·-===========================================================================-·
  566.  
  567. Keyboard:
  568. Using Level2 Interrupt, Handles upto 256 Char+Status (Shift,Alt,Caps,Ctrl,
  569. CBM & Amiga) Software. The Amiga Hardware CIA that handles the keyboard
  570. only takes a maximum of 10 Codes. The Keyboard must receive a Handshake
  571. when ready a Code, Thus a Low followed by a High Pulse.
  572. (The Handshake Waits 85ms as Stated by Commodore, which should make the
  573. keyboard handling 100% on all Keyboards) The 85ms wait is ofcourse performed
  574. with the CIA! As should all Important loops if the are to be MC680xx 
  575. compatible! Has been tested on difficult keyboards.
  576.  
  577. DiskDrive:
  578. Handles all Four Standard Drives, all Timing is ofcourse done with CIA!
  579. Has been tested with all four drives. Although the ID that devices return
  580. are in a very cryptic manner! But drive ID has no important use in Big
  581. Brother at this stage.
  582. Only Normal DOS Formats are allowed at this time unfortunatly. (DOS0)
  583.  
  584. The First MC68000 Disassembler Made For This Program Almost Worked.
  585. But The System Had To Be Recoded For Use In Assembler and Search Instruction,
  586. But Mostly For MC68040,MC6888x & MC68551 Support. And I Found The First Book
  587. Had Many Errors! So If You Want To Play With Motorola Processors or
  588. Assembler You Should Buy "Programmer's Reference Manual" From Motorola
  589. Themselves, Even though it also has alot of errors :).
  590.  
  591. Pmove <ea>,PSR 68030/68851 has the same upcode but both are recognized
  592. different because the 68851 also has PCSR.
  593. cpRestore has an opcode conflict with Ptest.
  594.  
  595.  
  596.    » C. Commands Overview «
  597. ·-===========================================================================-·
  598.  
  599. The following commands were made most resently and therefor are almost
  600. garantied and tested.
  601.  
  602. Please notice almost all instructions can be used as follows:
  603.  
  604. .DTS.W $0 $80000 $300000    : DeepTrainer Start
  605.  
  606. or
  607.  
  608. .DTS                ; DeepTrainer Start
  609. BEG>$0
  610. END>$80000
  611. DeepTrainer Size Type (B)yte (W)ord (L)ong>Word
  612. DeepTrainer Requires $00090000 Bytes!
  613. BUF>$300000
  614.  
  615. When using imputs the last used shortcut or input values will be displayed
  616. as default starting inputs.
  617.  
  618. This is only available where parameters are always needed.
  619.  
  620. The "$" is required as the default (currently only) standard number is
  621. regarded as decimal! ($=Hex/%=Binary/@=Octant/Default=Decimal)
  622.  
  623.  
  624.    Screen
  625. ·-========-·
  626.  
  627. F1..Toggle between screen 1 and 2.
  628. F2..Toggle Ins/Ovr
  629. F3..Toggle last screen 3 and current.
  630. F5..Clear Screen.
  631.  
  632.  
  633. The [] is for parameters that are not needed when executing a command this
  634. means that you will either be input prompted or that command will do some
  635. else without parameters (ie. show info)
  636. Try different combinations I'm not going to write more at this point.
  637.  
  638.  
  639.    External Commands
  640. ·-===================-·
  641.  
  642. SDCR [StartAddr] [EndAddr]        : Search Decruncher
  643. MR                    : Module Ripper
  644.  
  645. Doc's are located somewhere in this archive. Other External Commands will
  646. not use default commandstring but creator defined ones.
  647.  
  648.  
  649.    Disk/File Commands
  650. ·-====================-·
  651.  
  652. RT [addr] [devnr] [strk] [shead] [trks]    : Read Track
  653. RH [addr] [devnr] [strk] [shead] [trks]    : Read Head
  654. RS [addr] [devnr] [ssector] [sectors]    : Read Sector
  655. RBOOT [addr] [devnr]            : Read BootBlock
  656. WT [addr] [devnr] [strk] [shead] [trks]    : Write Track
  657. WH [addr] [devnr] [strk] [shead] [trks]    : Write Head
  658. WS [addr] [devnr] [ssector] [sectors]    : Write Sector
  659. WBOOT [addr] [devnr]            : Write BootBlock
  660. CC [devnr]                : Read/Correct/Write BootChkSum
  661. TD                    : Test Drive (Shows ID of all 4 drives)
  662. SYNC [sync]                : Change Sync
  663. QFORMAT [dev#]                : QuickFormat Disk
  664. FORMAT [dev#]                : Format Disk
  665. INSTALL [dev#]                : Install Disk
  666. RELABEL [dev#]                : Relabel Disk
  667. CD [Device/Path] or [/]            : Change Directory
  668. DIR [Device/Path]            : Show Content of Directory
  669. COMMENT [Path/FileName]            : Comment Dir/File
  670. TYPE [Path/FileName]            : Type File
  671. RB [Path/FileName] [StrAddr] [EndAddr]    : Read Binary
  672.  
  673. Remarks:
  674.  o Devnr is 0-3
  675.  o Head is 0/1
  676.  o Trks can be negative in which case the tracks will be loaded/saved backwards!
  677.  
  678.  
  679.    Trainer
  680. ·-=========-·
  681.  
  682. TS[.b|.w|.l] [StrAddr] [EndAddr] [Val]    : Trainer Start
  683. T [Val]                    : Trainer Continue
  684. TF                    : Trainer Flush
  685. TP                    : Trainer Plot
  686. TSM [Val]                : Trainer SetMatched
  687. TFD [StartAddr] [EndAddr]        : Trainer FindAddrDec
  688. TFA [StartAddr] [EndAddr]        : Trainer FindAddr
  689. DTS[.b|.w|.l] [SAddr] [EAddr] [BAddr]    : DeepTrainer Start
  690. DTE [Value]                : DeepTRainer Equal
  691. DTC                    : DeepTrainer Changed
  692. DTU                    : DeepTrainer UnChanged
  693. DTD                    : DeepTrainer Delta
  694. DTP                    : DeepTrainer Plot Status
  695. GC                    : Game Trainer Menu
  696.  
  697.  
  698.    System Information
  699. ·-====================-·
  700.  
  701. CPU                    : CPU Dependent Info 
  702. FPU                    : FPU Dependent Info
  703. MMU                    : MMU Dependent Info
  704. SI                    : Hardware Config/Information
  705. TIME                    : Time Info (ie. Hardware Clock)
  706. CIAA                    : Show CIAA Regs and Info
  707. CIAB                    : Show CIAB Regs and Info
  708. LASTGURU                : Show LastGuru Info
  709. GURU [GuruNr]                : Show Guru Info
  710. AVAIL                    : Show Memory Regions (Short)
  711. RAM                    : Show Memory Regions and Info
  712. DEVICES                    : Show system Devices
  713. INTERRUPTS                : Show system Interrupts
  714. LIBRARIES                : Show system Libraries
  715. PORTS                    : Show system Ports
  716. ;RESIDENT                : Show system Resident
  717. RESOURCES                : Show system Resources
  718. SEMAPHORES                : Show system Semaphores
  719. TASKS                    : Show system Tasks
  720.  
  721.  
  722.    Monitor Commands
  723. ·-==================-·
  724.  
  725. ? [expression]                : Expression
  726. A [Addr]                : Mc680x0-Assembler
  727. ADD[.b|.w|.l] [SAddr] [EAddr] [Data]    : Add Memory with Data
  728. AND[.b|.w|.l] [SAddr] [EAddr] [Data]    : And Memory with Data
  729. B                    : Show Breakpoints
  730. BS [Addr]                : Set Breakpoint
  731. BD [Addr]                : Delete Breakpoint
  732. BDA                    : Delete All Breakpoints
  733. C [StartAddr] [EndAddr] [DestAddr]    : Copy Memory
  734. @D [Addr]                : Mc680x0-Block Disassembler (16 lines)
  735. D [Addr]                : Mc680x0-Disassembler (fullscreen)
  736. EOR[.b|.w|.l] [SAddr] [EAddr] [Data]    : Eor Memory with Data
  737. FILL[.b|.w|.l] [SAddr] [EAddr] [Data]    : Fill Memory with Data
  738. FAQ [SAddr] [EAddr] [FAddr]        : Mc680x0-Find Address SingleAddr
  739. FAQ[.b|.w|.l] [SAddr] [EAddr] [FAddr]    : Mc680x0-Find Address -"- + FixedSize
  740. FA [StrAddr] [EAddr] [FAddr]        : Mc680x0-Find AddrArea (OprSize)
  741. FA[.b|.w|.l] [StrAddr] [EAddr] [FAddr]    : Mc680x0-Find AddrArea (Opr-/Com-Size)
  742. FB [BranchAddr]                : Find Branch (Byte/Word)
  743. FBL [SAddr] [EAddr] [BranchAddr]    : Find BranchLong (Byte/Word/Long)
  744. FI [SAddr] [EAddr] [Ascii]        : Find Mc680x0 Instruction
  745. F[.b|.w|.l]  [SAddr] [EAddr] [Data]    : Find Data
  746. FS [SAddr] [EAddr] [Ascii]        : Find String
  747. FT [SAddr] [EAddr] [Min] [Max] [MinLen]    : Find Text
  748. FIFF [SAddr] [EAddr]            : Find IFF Form Structure. (IFF,etc.)
  749. FCOP [SAddr] [EAddr]            : Find Possible CopperList
  750. G [Address]                : Jump into memory (JMP)
  751. J [Address]                : Jump into memory (JSR) with freezer on
  752. KEYB                    : Will Display Pressed Raws/Keys/Asciis
  753. @M[.b|.w|.l|.a] [SAddr] [EAddr]        : MemoryDump Show/Edit (Hex/Ascii)
  754. M[.b|.w|.l|.a] [Addr]            : Block MemoryDump (Hex/Ascii)
  755. MWP[.b|.w|.l] [Addr]            : List/Add Memory WatchPoint(s)
  756. MWD [Addr]                : Delete Memory WatchPoint
  757. MWA                    : Delete All memory WatchPoints
  758. MWS                    : Show Memory WatchPoint(s) Status
  759. MWOFF                    : Memory WatchPoint(s) Off
  760. MWON                    : Memory WatchPoint(s) On
  761. NOP [StartAddr] [EndAddr]        : Nop Memory
  762. NOT [StartAddr] [EndAddr]        : Not Memory
  763. OR[.b|.w|.l] [SAddr] [EAddr] [Data]    : Or Memory with Data
  764. SUB[.b|.w|.l] [SAddr] [EAddr] [Data]    : Sub Memory with Data
  765. Q[.b|.w|.l] [SAddr] [EAddr] [DAddr]    : Compare Memory (Byte/Word/Long)
  766. R                    : Show Mc680x0 Dependent Registers
  767. ST [steps]                : Trace with subroutines
  768. TR [steps]                : Trace without subroutines
  769. X                    : Exit Monitor
  770.  
  771.  
  772.    Misc
  773. ·-======-·
  774.  
  775. PP                    : Printer Settings Menu
  776. RAMTEST    [StartAddr] [EndAddr]        : MemoryTest ($00,$55!,$AA!,$FF)
  777. RESET                    : byebye...
  778.  
  779.  
  780.    » D. Updates/History «
  781. ·-===========================================================================-·
  782.  
  783. Version 0.10
  784.  We started 3 people on a very ambitious undertaking and the result back in
  785.  1990 was not very impressive, at that time Nordic Power and ActionReplay 1
  786.  were the only freezer available. On the other hand software monitors like
  787.  ResetMon and CartMon where much better. But as we got on I became the only
  788.  one  still coding on the software and as I could clear see that I was getting
  789.  better and better, and  the real updates where made when I got my A4040 in the
  790.  middle of 1993 and I felt that my coding experience was much better than when
  791.  we started so I started re-coding it all and so after making the mc680x0
  792.  dis/assembler updates things are looking up. All shaggy routines that have
  793.  not been updated have been removed and will only be re-included upon recoding.
  794.  
  795.  The leap in version number here reflects the long period of almost no
  796.   progress.
  797.  
  798. Version 0.33
  799.  Recoded The Disassembler for full 680x0 support.
  800.  Assembler coded using the same tabels as disassembler, not complete!
  801.  Keyboard routine recoded and break (CRTL-C) Implemented.
  802.   (The Break is performed by the interrupt routines so no times is used for
  803.   checking in working loops!)
  804.  MemoryWatchPoints (Byte/Word/Long).
  805.  DeepTrainer (Byte/Word/Long).
  806.  BreakPoint (The broken instruction is not executed because I haven't made a
  807.   100% full prof 680x0 Tracer yet..!)
  808.  
  809. Version 0.40
  810.  Input routine totally recoded and many new options implemented. (like OS3.1)
  811.  FullScreen Disassembler routines recoded for input support. (like ASM1)
  812.  
  813. Version 0.41
  814.  Improved/Optimzed the copper scrolling routine used. (Blitter is too slow!)
  815.  
  816. Version 0.42
  817.  Recoded the copper,sprite inits and removed that ugly pointer from Marc!
  818.   (The old bugs involving sprites should be corrected!, plus the copper can
  819.   easily be expanded to VGA,DBLPAL,NTSC,SHIRES when I make the copperlists!)
  820.  Pointer now functioning 100% unlike the prior. (pis off!)
  821.  Recoded the sprite handlers. (Pointer speed, S-Hires Compability etc.)
  822.  Recoded the cursor flashing and also included reset cursor on key pressed.
  823.  Removed and Recoded the Disassembler Upwards in the fullscreen DIS.
  824.  Removed a bug in the fullscreen dis that made the computer crash, or rather
  825.   it disappeared after having recoded most of the fullscreen dis.
  826.  
  827.  When the monitor was activated the system would guru upon lauching other
  828.  programs outside ASM1-V100 but this is not the fact anymore!
  829.  Probably because most of the code has been recoded!
  830.  
  831. Version 0.43
  832.  Fixed a little input bug, would copy and display #0 in input display area.
  833.  Mouse can now be used in the fullscreen DIS. (just like in MemDump!)
  834.  Trashed the old remaining routines for the right mouse menus and removed
  835.   the 'Help' option because it was again made by Marc and crashed at will!
  836.  DisAssembles one line backwards 100% and fast! (like ASM1 and BeerMon!)
  837.  Cursor position was disturbed upon re-entry! Now cursor position is the
  838.   same as before exiting.
  839.  DisAssembles one page backwards 100% and fast! (Faster than ASM1!)
  840.  
  841. Version 0.45
  842.  Calculate "?" output recoded and improved. 1st line is the UnSigned longword.
  843.   Second line is signed (+/-), it autodetects if the number is a byte, word or
  844.   long value. (The output will maybe be user optional but not currently)
  845.  Assembler bug removed on extraword instructions and in parameter tester.
  846.  Asm now recognizes all strings for Movec and PMove. (cool string recog.)
  847.  Asm now assembles Cache Instructions. (Cinv and cPush)
  848.  Asm bug in size caused random size. (which could be seen by assembling the
  849.   instruction in Fullscreen from different X-positions...hehe!)
  850.  Asm does Pflush, Ptest and Pload now.
  851.  Asm bug in <ea> parameter tester fixed.
  852.  Asm bug in reverse direction <ea> parameter tester, it was reversed :)
  853.  
  854. Version 0.46
  855.  Fixed the CIA Timer so it actually works now. (2 different included;Key&Disk)
  856.  Recoded some of the disk routines, starting the drive wouldn't work correctly
  857.   on da my A4040 :)
  858.  Recoded Store/Restore original tracks upon exit.
  859.  Recoded Start/Stop motor and added some more CIA waits only critical on 68040
  860.   (Uses Device ID for DD/HD test and drive connected test)
  861.  Read/Write Track/Cylinder/Boot should work. Correct BootChkSum recoded.
  862.  Read/Write Sector with trackbuffer for normal speed dos operations.
  863.  Fixed movem so it works, even with backwords reglists. and dual :- operands
  864.   and a fullscreen input assembler mixup error.
  865.  
  866. Version 0.48
  867.  Find Address (FA) implemented.
  868.  Find Address bug removed <ea110> group was disassembled instead of address
  869.   checked. I overlooked a single branch for the left sided <ea>'s.
  870.  Optimized screen update routine, so now full screen updating should be
  871.   almost equal on A500 and A4040. (68010 vs. 68040 tested)
  872.  Optimized clear screen routines, and some parts of the fullscreen
  873.   memory/disassembly dumps.
  874.  Fullscreen disassembler page up/down optimized. (now acceptable on 68000)
  875.  Flicker in top/bottom line when repeated scrolling up/down fullscreen
  876.   finally removed! Only a bother on slow computers.
  877.  Find Address will subtract the operand size when encountering an address
  878.   register indirect with predecrement mode -(an).
  879.  Find Address bug removed. FA would index odd address when more than 1 address
  880.   found. The reason I didn't find it so fast was because the 68040 can access
  881.   odd addresses and as far as I know also run instructions on odd addresses.
  882.  
  883. Version 0.49
  884.  TextBuffer routines have been altered so screen scroll is hyperfast because
  885.   I only scroll pointers for copperdisplay and now also for textbuffers.
  886.  Recoded the title structure and routines. Multiple titletexts possible.
  887.  Changed the keyboard routine so Shift,Alt,Lcom,Rcom,CTRL will not affect
  888.   Key Repeat.
  889.  Input enabled in the TitleBar with almost the same options as normal input.
  890.  Alt plus any character now works. (2 code lines misplaced)
  891.  Time in titlebar will not appear in on other than the main title. Time is now
  892.   display update only when seconds change (each second that is) and the calc
  893.   routines have been slightly modified for faster update.
  894.  CTRL-C break fixed so it also works in my 256 character buffer and still acts
  895.   in the same way as the system keymap. Exactly 100% the same as system thing!
  896.  Added Amiga special keys.
  897.   AMIGA-X will clear display in input.
  898.   AMIGA-Q will restore the input string/var as it was upon input start. (Undo)
  899.  Added some options for the full screen memory dump
  900.   AMIGA-J / Jump Addr.
  901.    will jump to input address.
  902.    (default none, just a clean input)
  903.   AMIGA-L / Last Addr.
  904.    will jump to the lasted address stored with AMIGA-Q.
  905.   AMIGA-G / Grab Addr.
  906.    will jump to input address.
  907.    (default address is the current cursor position)
  908.   AMIGA-Q / QuickJump
  909.    will jump to input address.
  910.    (default address is pointer address at cursor position)
  911.   AMIGA-J/G/Q address will be store for use with AMIGA-L (32 address history)
  912.   AMIGA-1-0 / Mark Address
  913.   SHIFT AMIGA-1-0 Jump to Marked Address
  914.  All the above AMIGA and SHIFT AMIGA actions have been implemented in the
  915.   fullscreen disassembler dump aswell.
  916.  AMIGA-Left/Right Cursor will move left or right in the pointers buffer from
  917.   QuickJump (AMIGA-Q) from disassembler screen as there may be more than one.
  918.   (Mem/Dis Dump Option)
  919.  Fixed a small Disassembler bug. (Involving new <EA>; No Indirect Memory Modes)
  920.  New <ea> modes on/off. (improves Dis/Asm/FA speed if you are working on
  921.   68000-68010 programs)
  922.  Cpu/Mmu/Fpu Select (Makes Dis/Asm/FA work better for specific Cpu/Mmu/Fpu
  923.   configurations)
  924.  CTRL-C and ESC break implemented in
  925.   FindAddress (FA)
  926.   Block Memory Dump (@M)
  927.   Block Disassembler Dump (@D)
  928.   Input Routine
  929.  I though the chip memory swapped was restored incorrectly thus altering
  930.   1 or 2 longwords in the chip memory. All setup/startup routines have been
  931.   re-coded and I haven't had any problems since. (Didn't check before some
  932.   time after I re-coded the routines)
  933.  ALT-Del and ALT-Backspace added to input routine.
  934.  Added Pointer Blank when a key is pressed, including Key Repeat. (optional)
  935.  Identification of DMA/Gfx Chip (Agnus/Alice)
  936.  Identification of Display Chip (Denise/Lisa)
  937.  Identification of CPU
  938.   (68000/68010/68020/68EC030/68030/68EC040/68LC040/68040/68EC060/68LC060/68060)
  939.  Identification of FPU
  940.   (68881/68882/68040/68040+68882/68060/68060+68882)
  941.  Identification of MMU
  942.   (68851/68EC030/68030/68LC040/68040/68LC060/68060)
  943.  Command History Buffer Totally Recoded. (the old routines didn't work 100%)
  944.  History Added to Input Routines.
  945.  FPU support added to Disassembler (Including Up/Page Up) and to FindAddress.
  946.  ExceptionBase patched on 68010+. (optional)
  947.   This should enable Monitor from being activated in most non-system
  948.   applications. (68010+ required!)
  949.  Updated/Added Misc Memory Routines (No Data Parms)
  950.   Copy Memory, Compare Memory, Nop Memory, Not Memory
  951.  Updated/Added Misc Memory Routines (Data Parms)
  952.   Eor (Add,And,Fill,Or & Sub)
  953.   Only one general memory command at this point.
  954.   Works better with new calculator.
  955.   Just have to add a miscdata parser. (implemented in v0.49c)
  956.  68000/32bit integer math routines implemented.
  957.  Coded a new expression routine from scratch! Now it actually works!
  958.   The first one made by MFM didn't actually work very well.
  959.  Recoded the routine that handles parameters, it didn't work as it was
  960.   supposed. (now handles ascii which can be used in findtext or as data
  961.   for general memory routines)
  962.  Old calculator/getvarb/expression routines have been totally removed!
  963.  Multiple string parameters possible.
  964.   (ie. FT $10000 $20000 "he" `j!`)
  965.  Expression has been completed concerning normal calculation operations.
  966.  Removed a little bug in expression which rendered priority semi-functional.
  967.  Input replaced in most working Commands.
  968.  
  969.  Changed version because I gave it away to some people for minor beta testing.
  970.  
  971. Version 0.49c
  972.  CPU Store/Info should be completed. (except most 68060 info)
  973.  MMU Store/Info should be completed. (except 68060 info)
  974.  New Input routine totally replaced the old one. (many new options)
  975.  FA improved, commandsize also used.
  976.   ie.    .FA $0 $80000 $40003
  977.     Move.L    #0,$40000
  978.     Move.L    #0,$40001
  979.     Move.L    #0,$40002
  980.     Move.L    #0,$40003
  981.  New CPU dependent showregs completed (except 68060), and old one removed.
  982.  Input HistoryAdd bug removed.
  983.  Removed some faulty references to the old input routine by the misc memory
  984.   commands. (leason kids! never do nonsystem hacks! hehe)
  985.  Added miscdata parser. (ie. EOR,etc.)
  986.  Added some Misc Memory Routines: Add,And,Fill,Or & Sub.
  987.   (Eor was implemented some time ago to test the parsers and the input routine)
  988.  FindData completed and tested.
  989.  Updated/Recoded FindText, FindIFFForm, FindCopper, FindTextBlock.
  990.  Added Time Info, which reads hardware clock if present. (Also used in titlebar
  991.   ofcoz but as optimized tod clock. And it will eventually also be used in the
  992.   dos commands)
  993.  ExceptionBase patch improved and a bit more safe. (Now Works after Reset)
  994.   MemoryWatchPoint also works with Patch.
  995.  FA expanded. (Optional FA Single Address and Size)
  996.  FindBranch (FB) Recoded. It will no longer search for Branch.Long020+ instead
  997.  FindBranchLong (FBL) was added with Start/End Parameters. (Searches for B/W/L)
  998.   Esc/Ctrl-C break support added to FindBranch/FindBranchLong.
  999.  Added some System Info (Devices,Interrupts,Libraries,Ports,Resident
  1000.   Resources,Semaphores,Tasks)
  1001.  FPU Store/Info/ReStore completed. (Same for all FPU's)
  1002.  Progress Address Display in titlebar. Displays current address reached.
  1003.   Available in the following commands:
  1004.    FindAddress
  1005.  Help Included. Just press -Help- and use Cursor Up/Down or ShiftCursor Up/Down.
  1006.  Added LastGuru,Guru,RamTest.
  1007.  Recoded and Optimized some of the Output routines.
  1008.  
  1009.  Changed version coz I gave it to some people.
  1010.  Tested it on different 020/030 computers in Herning at The Party IV.
  1011.  
  1012.  Happy New Year 1994-95!
  1013.  
  1014. Version 0.49d / 0.49e / 0.49f / 0.49g
  1015.  Added TitleMsg - Asm1 Style. (for error's and other stuff)
  1016.   needs to be improved (ie. mouse button press)
  1017.  Recoded internal memory driver. (currently only used by trainer)
  1018.  Recoded Trainer Start/Continue and the other trainer routines. Also improved
  1019.   so when the previous search did not reach the end address the next search
  1020.   pass goes higher and higher, ofcoz only if there is free memory.
  1021.   And SearchDec was recoded so it now uses the same routines as the FA
  1022.   commands!
  1023.   (PS: Word and Long have always searched even and odd addresses! maybe
  1024.   optional soon)
  1025.  Added trainer commands also in commandline.
  1026.   TrainerStart(TS),TrainerContinue(T),TrainerFlush(TF),TrainerPlot(TP)
  1027.   TrainerSetMatched(TSM),TrainerFindAddrDec(TFD) and TrainerFindAddr(TFA).
  1028.  Removed small bug in input when no prompt text was used.
  1029.  TrainerMenu redesigned/recoded with the new trainer routines.
  1030.  Added CpuRegs support to calculator
  1031.   d0-d7,a0-a7,sp,ssp,usp,sr,pc,vbr. (I will probably add more but first I
  1032.   ponder if I should include cpu/mmu/fpu check on regs.)
  1033.  Recoded Asm
  1034.   Instruction parser/instr. recognizer.
  1035.   Condition Test/Asm. FPU Conditions added!
  1036.   Size Get/Default/Test/Asm
  1037.   Misc Test/Asm
  1038.   Parses Immediate Operands. (level1)
  1039.   Misc Operands, the basic <ea>'s and CpuRegs (Cpu/Mmu/Fpu/Cache). (level2)
  1040.   Absolute Operands. (level3)
  1041.  Installer Recoded. Installer only 171120 (source 90771)
  1042.   Recoded installer only 58016 (source: 63462)
  1043.   Object Installer 245818 -> 146988 with updated installer code.
  1044.  Removed bug in Monitor Startup. On 68000, 68010 Cpu Store was run.
  1045.  MMU (In Use) fixed for different bits. Bit31 (68851/68030) Bit15 (68040/68060)
  1046.  Level3 <ea> Parser almost complete. Except Index Handling.
  1047.   Pre-Recognizes: Absolute,An,PC/ZPC,Rn.Size*Scale. Resulting in either
  1048.   680x0 EA's or 68020+ EA's.
  1049.  Fpu operands are recognized but no Fpu instructions are assembled as of yet!
  1050.   (Still looking for a Cpu applicable algoriths for converting ascii->float)
  1051.  Fixed an old bug in the disassembler concerning the new ea, but I never saw
  1052.   the error because I don't have any assembler that handles the specific
  1053.   addressing mode that was wrongly handled.
  1054.   Index Operand Supressed in Indirect Memory would show the following
  1055.   ([bd,An,Od])/([bd,PC,Od])/([bd,ZPC,Od])
  1056.   Instead of
  1057.   ([bd,An],Od)/([bd,PC],Od)/([bd,ZPC],Od)
  1058.  Clock/FreeMem is now updated immediatly when main screentitle is restored.
  1059.  Fixed small Disassembler bug. ( $xxxx.w(pc) displayed as $xxxx.b(pc) )
  1060.  Optimized lots of small routines in the disassembler.
  1061.  Shorted the DisLen routines down. (Backwards,etc.)
  1062.  Merged DisLen/DisTest and hence removed a small bug in my new DisTest for
  1063.   <ea>'s.
  1064.  Added CiaA/CiaB Reg/Bit Info.
  1065.  Assembling enabled in fullscreen disassembler again.
  1066.  Assembling enabled from commandline again. And improved so you can edit the
  1067.   address directly, instead of executing 'a' with your new address.
  1068.  FA.B/FA.W/FA.L operations renamed to FAQ.B/FAQ.W/FAQ.L. (FAQ.Size will only
  1069.   search instructions accessing address with requested size. FAQ searches
  1070.   instructions accessing address ignoring size but address must ofcoz be equal)
  1071.  FA.B/FA.W/FA.L added. They will add the size to address and will match all
  1072.   instructions accessing between <address-instr.size> and <address+FA.size>.
  1073.   (FA matches instructions accessing between <address-instr.size> and <address>)
  1074.  AsmTest simulates lenghts. This means that pc's will be tested and assembled
  1075.   correctly and that the assembler is now ready for macro-assembler expansion.
  1076.  Fixed $xxxx(pc) if used as destination register.
  1077.   (Didn't notice because it seems only Btst, possibly others, supports PC
  1078.   addressing modes in destination)
  1079.  Recoded/Optimized Output Routines.
  1080.  Added bitfield support and tester for it mis/-use. (<ea>{offset:width})
  1081.  Removed NoParm Len Error. (Instruction was overwritten by the next assembled)
  1082.  Plotter and Help now supports Tabulation. (Help now looks normal!)
  1083.  Asm bug fixed in my asm cpureg recognition (SRP was mistaken for SR), and
  1084.   fixed a 5RW bug in dis/asm.
  1085.  FlushDisable now recognized for PMove (PMoveFD). Added PMove Size Support.
  1086.  FPU Id added, Fpu Enabled for Id=1. (optional)
  1087.  Asm bug Fixed in direction. (A few times in 1/3/4 parm, only used in 2 parm)
  1088.  Fixed a bug in disassembler, new routines trashed vital DataReg.
  1089.  Finished/Debugged the Assembler so now it should work properly!
  1090.  M680x0 Assembler has now been completed!
  1091.  Dis/Asm tabs restructured/updated concerning instructions allowed CPU/MMU/FPU.
  1092.  Added M68060 dis/asm support. Movec regs for M68EC040. CPU32 dis/asm support.
  1093.  Breakpoint now traces the broken instruction and reinstall breakpoint.
  1094.   (This can/will cause some problems where the trace is ignored by certain
  1095.   instructions this will be corrected using special case handling in the future)
  1096.  Disk Routines recoded slightly and BaseReg'ed(A4).
  1097.  Input support added to Read/Write Track/Cylinder/Sector/Boot.
  1098.  Fixed small bug in inputroutine. (When not spc stripping ascii strings)
  1099.  Removed an old bug where Bitplanes and/or Sprites would not be shown.
  1100.   (Since this was rarely the case I never tried to remove it, but I
  1101.   accidentally found a "system friendly" program that ran from WB so I could
  1102.   more easily fix it)
  1103.  Added following DOS0-5 commands:
  1104.   QuickFormat/Format/Install/Relabel.
  1105.   CD/Dir. (Doesn't use/support DirCache Dos4-5)
  1106.   Comment.
  1107.   Type.
  1108.   RB (ReadBinary) (EndAddress curently ignored)
  1109.  Optimized small part of the asciiconvert->screen routine and replaced A4 usage.
  1110.  Recoded and Optimized MemoryDump output routine. (Thus no A4 usage anymore)
  1111.   (68010: .@m 0 $80000 00:09:18:93 -> 00:08:43:31 Scrolled MemDump)
  1112.  Recoded Ram command and added Avail command. (Replaced some A4 usage)
  1113.  Replaced A4 usage in memory (fill,add...), help screen and disscrup routines.
  1114.  FindAddress (FA) improved so it now supports searches on doubleindexed <ea>'s.
  1115.   (Optionable, swichted off until installer prefs updated)
  1116.  FindInstruction implemented. This command currently only compares wildcard text
  1117.   to disassembled text. (*=WildCard and ?=WildChar)
  1118.  DisDump will now activate imput instruction without having to press cursorkeys.
  1119.  Added Go(G),Jump(J),Reset.
  1120.  Recoded Level2 entry. Registers now show program and not my level2.
  1121.  Added Trace without subroutines(TR) and Trace with subroutines(ST).
  1122.  Fixed small problem, Page/InsOvr was not displayed after rewriting of the title
  1123.   routines.
  1124.  StackFrame handling (68010+) added. (SingleStepTrace now works)
  1125.  MemoryWatch trace exception now able to be switched off after use.
  1126.  
  1127. Version 0.50
  1128.  None Yet.
  1129.  
  1130. Assembler was tested with the following sources:
  1131.   M68000.Asm
  1132.   M68030mmu.Asm
  1133.   M68040.Asm
  1134.   M68851.Asm
  1135.   MNewModes.Asm
  1136. Dis/Assembler should now dis and asm correctly.
  1137.  
  1138. 68EC030MMU/68EC040MMU instructions will be added.
  1139.  
  1140.  
  1141.    » Assembler «
  1142. ·-===============-·
  1143.  
  1144. I made the first line-assembler some years ago and innocent as I was it never
  1145.  got finished. The first 68000 disassembler used some tabs and since my plan
  1146.  was that both dis/assembler should use the same tabs I recoded the
  1147.  disassembler for 680x0 and the new tabs very awesome and very fast! So the
  1148.  second line-assembler worked a little bit more I actually managed until the
  1149.  advanced and new <ea>'s, and had to face that even though my tabs for the
  1150.  dis/asm were good enough but I had to approach it in another fashion.
  1151.  I decided that the 3rd version should be in almost macro-assembler style and
  1152.  it is very fast and also semi-recursive. I was also motivated to continue with
  1153.  my new parser idea after I learned that Promax uses the same technique in
  1154.  his expression and assembler parsers.
  1155.  
  1156. Most Cmp's removed in parse. Even though it's recursive I can't asses if the
  1157.  assembler is REALLY fast compared to Asm-One or DevPac, because in it's
  1158.  current state it does not support labels etc.
  1159. Parse1 only parsed when # found.
  1160. Parse2 Skipped as soon as an error encountered or an valid parameter parsed.
  1161.  Either case is done very fast and with no loops or compareloops.
  1162. SP EQUR A7
  1163. Scale must be 1,2,4 or 8. No symbols will be accepted, only integer Scales.
  1164.  
  1165. Mode recognized:
  1166.  Parser1
  1167.         #immediate
  1168.  Parser2
  1169.         Dx:Dy
  1170.         Dx-Dy
  1171.         (Rx):(Ry)
  1172.         Movem RegList (D0-D7/A0-A7)
  1173.         FMovem RegList (Fp0-FP3/FP7)
  1174.         FPn (FP0-FP7)
  1175.         FPCR Regs (FPCR/FPSR/FPIAR)
  1176.         Dn
  1177.         An
  1178.         (An)
  1179.         (An)+
  1180.         -(An)
  1181.         CpuRegs (Cpu/Mmu/Fpu/Cache)
  1182.  Parser3
  1183.         Absolute.W/Absolute.L        (Absolute).W/(Absolute).L
  1184.         (d16,An)                     d16(An)
  1185.         (d8,An,Xn)                   d8(An,Xn)
  1186.         (bd,An,Xn.Size*Scale)        bd(An,Xn.Size*Scale)
  1187.         ([bd,An,Xn.Size*Scale],od)   bd([An,Xn.Size*Scale],od)
  1188.         ([bd,An],Xn.Size*Scale,od)   bd([An],Xn.Size*Scale,od)
  1189.         (d16,PC)                     d16(PC)
  1190.         (d8,PC,Xn)                   d8(PC,Xn)
  1191.         (bd,PC,Xn.Size*Scale)        bd(PC,Xn.Size*Scale)
  1192.         ([bd,PC,Xn.Size*Scale],od)   bd([PC,Xn.Size*Scale],od)
  1193.         ([bd,PC],Xn.Size*Scale,od)   bd([PC],Xn.Size*Scale,od)
  1194.  Parser4
  1195.         <ea>{offset:width}    ; bitfield instructions
  1196.  
  1197. This assembler is done in a way that an label parser can be added and I have
  1198.  a symbol assembler.
  1199. Guess the next step will be a new improved Asm-One V2.0 680x0 Macro Assembler
  1200.  with totally new code. (Based on the original one by Promax)
  1201.  
  1202. Both the Disassembler and Assembler were programmed using the following data
  1203. books
  1204.  Sybex:    Programming the 68000 by Steve Williams.
  1205.  Motorola: Programmer's Reference Manual. 68000-68040,6888x,68851,Cpu32.
  1206.            Mc68020 User's Manual.
  1207.            Mc68030 User's Manual.
  1208.            Mc68040 User's Manual.
  1209.            Mc68060 User's Manual. (68060 Reference Manual)
  1210.            Mc68881/882 User's Manual.
  1211.            Mc68851 User's Manual.
  1212. I also used some others for some parse/expression algorithms. And for reference
  1213. the Source-Code for Asm1. (the original that is!)
  1214.  
  1215.  
  1216.    » Update Information «
  1217. ·-========================-·
  1218.  
  1219. Started on the external user interface for external utilities. Currently only
  1220.  for a ModuleRipper, DeCruncherSearch and Copy Program. (maybe also the
  1221.  gfxripper, sampleripper & mempeeker)
  1222.  
  1223. ModuleRipper should be ExoticRipper if all goes as planned.
  1224. Acopy1.2 or Safe II included as Copy Program. Depends on weather I can get the
  1225.  source for Safe II by M.Pendec or maybe i'll get time to code my own.
  1226. For the CruncherSearch I made some code for about 10 different crunchers and
  1227.  I will probably spread the source so people can make their own external
  1228.  searchers. (ie. ATN!,ICE!,FUCK,RNC,BHC3,CrM!,CRM2,PP20...)
  1229.  
  1230.  
  1231.    » E. Bugs/Future/Ideas «
  1232. ·-===========================================================================-·
  1233.  
  1234. The software has been tested on various CPU/MMU/FPU configurations, but if any
  1235. problem occurs on your system please report so!
  1236. Including your hardware configuration.
  1237.  
  1238. All CPU/MMU/FPU dependent routines have been coded/based according to eight
  1239. different Motorola(tm) manuals and is hopefully correct but I can't be 100%
  1240. sure as I haven't got the resources to test all configs.
  1241.  
  1242. Known Problems:
  1243.  CIA trashed upon exit.
  1244.  VBR Patch not very stable under system. On the other hand I don't think I'm
  1245.   supposed to do a patch on the system. :)
  1246.  68030/68EC030 identify doesn't detect a 68EC030. Seems like Motorola just
  1247.   undefined certain opcodes instead of branching to exception error vectors.
  1248.  No CPU/MMU Restore.
  1249.  
  1250. Future:
  1251.  Finish: Printer Options. (Currently PAR: used for ParNet)
  1252.  Recode: MemPeeker and GFXRipper.
  1253.  Recode: CruncherSearch. (probably external module)
  1254.  Recode: SampleSearch and ModuleRipper. (probably external module)
  1255.  Recode: window. mousemenus and pull down menus. (removed for now)
  1256.  Code:   CIAregs Store/Restore.
  1257.  Code:   Simple Snap like OS3.0+ text snapper. (semi implemented)
  1258.  Convert to BaseReg(A4) useful for eg. code/data only sections.
  1259.  Add Special And Status to command history.
  1260.  
  1261. Other releases will probably include a macro-assembler with some code from
  1262.  this monitor. Rather depends on how much time I want to use. Anyway most
  1263.  routines made for this monitor can be used in an editor/monitor/debugger/
  1264.  assembler as long as they are converted into system friendly routines.
  1265.  
  1266. ·.    .··.    .··.    .··.    .··.    .··.    .··.    .··.    .··.    .··.    .
  1267.   ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·    ·..·
  1268.  
  1269. BigBrother...
  1270.         ...The Holy Most Remarkable Freezer in This Spiral Arm of The Galaxy!
  1271.